#ifndef _BYTEBLOCK__H
#define _BYTEBLOCK__H

#include "settings.h"
#include "Arduino.h"

class ByteBlock {
  public:
    byte arr[8];

    void rotate_90_left(void);
    void rotate_90_right(void);
    void rotate_180(void);
    void mirror_lefttright(void);
    void mirror_updown(void);
    
    #ifdef DEBUG
    void print(void);
    #endif

    ByteBlock(const byte *arr);
    ByteBlock(const byte b1, 
              const byte b2, 
              const byte b3, 
              const byte b4, 
              const byte b5, 
              const byte b6, 
              const byte b7, 
              const byte b8);
    ByteBlock(const ByteBlock &bb);
};

#ifdef DEBUG
void test_byteblock(void);
#endif  // DEBUG

#endif  //_BYTEBLOCK__H